package cn.kgm.user.server.struct;

import cn.kgm.user.dto.dto.UserEquipmentSaveDTO;
import cn.kgm.user.dto.dto.UserEquipmentUpdateDTO;
import cn.kgm.user.dto.entity.UserEquipment;
import cn.kgm.user.dto.query.UserEquipmentPageQuery;
import cn.kgm.user.dto.vo.UserEquipmentVO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * 用户登录设备
 * @author kappi
 * @date   2024-04-08 13:28:48
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface UserEquipmentMappers {
    UserEquipmentMappers INSTANCE = Mappers.getMapper(UserEquipmentMappers.class);

    /**
     * 将 UserEquipmentSaveDTO 映射成 UserEquipment 对象
     *
     * @param source 源对象
     * @return UserEquipment
     */
    UserEquipment mapToEntity(UserEquipmentSaveDTO source);

    /**
     * 将 UserEquipmentUpdateDTO 映射成 UserEquipment 对象
     *
     * @param source 源对象
     * @return UserEquipment
     */
    UserEquipment mapToEntity(UserEquipmentUpdateDTO source);

    /**
     * UserEquipmentPageQuery 映射成 UserEquipment 对象
     *
     * @param source 源对象
     * @return UserEquipment
     */
    UserEquipment mapToEntity(UserEquipmentPageQuery source);

    /**
     * UserEquipmentPageQuery 映射成 UserEquipment 对象
     *
     * @param source 源对象
     * @return UserEquipmentVO
     */
    UserEquipmentVO mapToEntity(UserEquipment source);

}
